package main

import "fmt"

func main() {
	//iota 在每一个 const 关键字出现时被重置为 0，然后在下一个 const 出现之前，每出现一次 iota，其所代表的数字会自动增 1。

	const ( // iota 被重置为 0
		c0 = iota // c0 = 0
		c1 = iota // c1 = 1
		c2 = iota // c2 = 2
	)
	const (
		u = iota * 2 // u = 0
		v = iota * 2 // v = 2
		w = iota * 2 // w = 4
	)

	//如果不把iota 放在 const的括号中，其实就没啥意义了，因为它肯定是0
	const x = iota // x = 0
	const y = iota // y = 0

	//个人理解，Go语言之所以需要一个iota的关键字，就是为了写如下情况时方便：
	const (
		Monday    = iota + 1 //1
		Tuesday              //2
		Wednesday            //3
		Thursday             //4
		Friday               //5
		Saturday             //6
		Sunday               //7
	)
	fmt.Println(x, Sunday)
}
